package com.dog.basics.bean.model.common;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 文件信息表
 * </p>
 *
 * @author guonh
 * @since 2020-05-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("dog_sys_file_info")
public class DogSysFileInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    private Long id;

    /**
     * 文件原名
     */
    private String name;

    /**
     * 文件名
     */
    @TableField("file_name")
    private String fileName;

    /**
     * 后缀
     */
    @TableField("file_suffix")
    private String fileSuffix;

    /**
     * base64编码的文件
     */
    @TableField("file_data")
    private String fileData;

    /**
     * 类型: 0:为MinIo 存储 1:base64存储 2:其它位置存储 3:服务器
     */
    @TableField("file_type")
    private Integer fileType;

    /**
     * 状态: 0未使用  1已使用
     */
    @TableField("file_state")
    private Integer fileState;

    /**
     * 说明
     */
    @TableField("file_explain")
    private String fileExplain;

    /**
     * 上传出处:  0 其它上传  1 File管理上传
     */
    @TableField("file_source")
    private Integer fileSource;

    /**
     * 文件MD5码 使用于重复
     */
    @TableField("file_md_file_mdfive")
    private String fileMdFileMdfive;

    /**
     * 文件大小
     */
    @TableField("file_size")
    private Integer fileSize;

    /**
     * 文件后缀类型 0:图片 1:视频 2:音频 3其他
     */
    @TableField("file_status")
    private Integer fileStatus;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Long createTime;

    /**
     * 修改时间
     */
    @TableField("update_time")
    private Long updateTime;

    /**
     * 创建用户
     */
    @TableField("create_by")
    private Long createBy;

    /**
     * 修改用户
     */
    @TableField("update_by")
    private Long updateBy;

    /**
     * 删除标记 0正常 1删除
     */
    @TableField("del_flag")
    private Integer delFlag;


}
